package com.gsx.utils;

import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Util {

    public static String code(String str){
        try{
            /*MessageDigest生成散列码的方法  getInstance是用MD5加密*/
            MessageDigest md=MessageDigest.getInstance("MD5");
            /*将需要加密的东西放入方法中进行加密*/
            md.update(str.getBytes());
            /*md.digest是通过执行诸如填充之类的最终操作完成哈希计算*/
            byte[] byteDigest=md.digest();
            int i;
            StringBuffer buf=new StringBuffer("");
            for(int offset=0;offset<byteDigest.length;offset++){
                i=byteDigest[offset];
                if(i<0) i+=256;
                if(i<16) buf.append("0");
                buf.append(Integer.toHexString(i));
            }
            //32位加密
            return buf.toString();
            //16位加密
            //return buf.toString.substring(8,24)
        }catch (NoSuchAlgorithmException e){
            e.printStackTrace();
            return null;
        }
    }
}
